#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtWidgets/QMainWindow>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QLabel>
#include <QtWidgets/QComboBox>
#include "videocompressor.h"

// 主窗口类，继承自QMainWindow
class MainWindow : public QMainWindow
{
    Q_OBJECT  // Qt元对象宏，用于支持信号槽机制

public:
    // 构造函数，parent参数用于指定父窗口
    MainWindow(QWidget *parent = nullptr);
    // 析构函数
    ~MainWindow();

private slots:
    // 选择输入文件的槽函数
    void selectInputFile();
    // 选择输出文件的槽函数
    void selectOutputFile();
    // 开始压缩的槽函数
    void startCompression();

private:
    // UI控件成员变量
    QLineEdit *inputPathEdit;      // 输入文件路径输入框
    QLineEdit *outputPathEdit;     // 输出文件路径输入框
    QPushButton *inputSelectButton;  // 选择输入文件按钮
    QPushButton *outputSelectButton; // 选择输出文件按钮
    QPushButton *startButton;        // 开始压缩按钮
    QComboBox *qualityComboBox;      // 压缩质量选择下拉框
    VideoCompressor *compressor;      // 视频压缩器对象
};

#endif 